package qc.module.qms.dto.mq;

import lombok.Data;
import qc.common.core.enums.qms.QmsDataFlowOperateTypeEnum;
import qc.common.core.enums.qms.QmsPointTimeSegmentEnum;

import java.time.LocalDateTime;

/**
 * QMS数据流程日志消息DTO
 *
 * @author QuCheng Tech
 * @since 2025/8/19
 */
@Data
public class QmsMqDataFlowLogMessageDto {
    /**
     * 当前节点ID
     */
    private String nodeid;

    /**
     * 流程ID，全局ID，消息或处理触发的源头
     */
    private String flowid;

    /**
     * 上一个来源节点ID，为空时表示当前节点为流程起始节点
     */
    private String fromnodeid;

    /**
     * 点号ID，可以为空
     */
    private String pointid;

    /**
     * 点号时段类型，可以为空(0-未定义表示为空)
     */
    private QmsPointTimeSegmentEnum pointtmseg;

    /**
     * 点号起始时标，可以为空；计算/处理点号数据的开始数据时标
     */
    private LocalDateTime pointbegintm;

    /**
     * 点号起始时标，可以为空；计算/处理点号数据的截止数据时标
     */
    private LocalDateTime pointendtm;

    /**
     * 处理类型，当前节点的处理类型/操作类型
     */
    private QmsDataFlowOperateTypeEnum optype;

    /**
     * 是否为人工操作
     */
    private boolean ismanual;

    /**
     * 操作说明，可以为空
     */
    private String opinfo;

    /**
     * 处理起始时间
     */
    private LocalDateTime begintm;

    /**
     * 处理截止时间
     */
    private LocalDateTime endtm;

    /**
     * 是否成功
     */
    private boolean issuccess;

    /**
     * 结果说明
     */
    private String opresult;
}
